package com.tzinfo.tzt.util;

import java.util.ArrayList;
import java.util.List;

public class ParamsList {

	private List<String> list = new ArrayList<String>();

	public ParamsList() {
	}

	public void add(String key, String value) {
		list.add(key);
		list.add(value);
	}

	public void add(String key, Long value) {
		list.add(key);
		list.add(value.toString());
	}

	public void add(String key, int value) {
		list.add(key);
		list.add("" + value);
	}

	public String toParams() {
		StringBuilder re = new StringBuilder();
		for (int i = 0; i < list.size() / 2; i++) {
			re.append("&");
			re.append(list.get(i * 2));
			re.append("=");
			re.append(list.get(i * 2 + 1));
		}
		return re.substring(1, re.length());
	}

	public String getKey(int i) {
		return list.get(i * 2);
	}

	public String getValue(int i) {
		return list.get(i * 2 + 1);
	}

	public void clearAllData() {
		list.clear();
	}

	public void add_SIG(ParamsList paramsList, String authcode) {
		list.add("_sig");
		list.add(MD5._sig(authcode, paramsList.toParams()));
	}

	public int size() {
		return list.size() / 2;
	}

}